package com.snapan.service;

import com.snapan.entity.FileBase;
import com.snapan.vo.CheckUploadVo;

import java.util.List;

/**
 * 文件基础信息表服务接口
 */
public interface FileBaseService {

    /**
     * 根据ID查询
     */
    FileBase getById(Long id);

    /**
     * 查询所有
     */
    List<FileBase> getAll();

    /**
     * 添加
     */
    boolean add(FileBase filebase);

    /**
     * 更新
     */
    boolean update(FileBase filebase);

    /**
     * 删除
     */
    boolean delete(Long id);

    /**
     * 检查MD5码是否存在
     * @return
     */
    CheckUploadVo checkUpload(FileBase filebase);

    /**
     * 检查文件上传状态
     */
    CheckUploadVo checkUpload(String fileName, Long fileSize, String fileMD5);

    /**
     * 根据MD5和文件大小查询文件
     */
    FileBase getByMD5AndSize(String fileMD5, Long fileSize);

}
